… to emotion/css vs emotion/react (#205664) (#205928)
# Backport
This will backport the following commits from `main` to `8.x`:
- [[Security Solution][Alert Details] - fix some UI issues related to
emotion/css vs emotion/react
(#205664)](#205664)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Philippe
Oberti","email":"philippe.oberti@elastic.co"},"sourceCommit":{"committedDate":"2025-01-08T16:00:28Z","message":"[Security
Solution][Alert Details] - fix some UI issues related to emotion/css vs
emotion/react (#205664)\n\n## Summary\r\n\r\nThis recent
[PR](#205011) slightly\r\nbroke
the UI in a couple of small places in the alert details
flyout.\r\nStrangely, I did review the PR by pulling down the branch,
but only\r\nlooked at the places that were impacted by the files
modified. The\r\ncouple of places where the UI broke were completely
different...\r\nMy guess it is is related to the fact that in those
place we were still\r\nusing `@emotion/css` and this might not play nice
with some\r\n`styled_components`...\r\n\r\nUpdating those places to use
`@emotion/react` fixed the issues!\r\n\r\n| Before fix | After fix
|\r\n| ------------- | -------------
|\r\n|\r\n\r\n|\r\n\r\n|\r\n\r\n|
Before fix | After fix |\r\n| ------------- | -------------
|\r\n|\r\n\r\n|\r\n\r\n|\r\n\r\n|
Before fix | After fix |\r\n| ------------- | -------------
|\r\n|\r\n\r\n|\r\n\r\n|\r\n\r\nIn
a follow work, we need to remove completely all
the\r\n`styled_components` we
have.","sha":"a8e1bf46a3dc111e37caf19b19897081ed2a8078","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Threat
Hunting:Investigations","backport:version","v8.18.0"],"title":"[Security
Solution][Alert Details] - fix some UI issues related to emotion/css vs
emotion/react","number":205664,"url":"https://github.com/elastic/kibana/pull/205664","mergeCommit":{"message":"[Security
Solution][Alert Details] - fix some UI issues related to emotion/css vs
emotion/react (#205664)\n\n## Summary\r\n\r\nThis recent
[PR](#205011) slightly\r\nbroke
the UI in a couple of small places in the alert details
flyout.\r\nStrangely, I did review the PR by pulling down the branch,
but only\r\nlooked at the places that were impacted by the files
modified. The\r\ncouple of places where the UI broke were completely
different...\r\nMy guess it is is related to the fact that in those
place we were still\r\nusing `@emotion/css` and this might not play nice
with some\r\n`styled_components`...\r\n\r\nUpdating those places to use
`@emotion/react` fixed the issues!\r\n\r\n| Before fix | After fix
|\r\n| ------------- | -------------
|\r\n|\r\n\r\n|\r\n\r\n|\r\n\r\n|
Before fix | After fix |\r\n| ------------- | -------------
|\r\n|\r\n\r\n|\r\n\r\n|\r\n\r\n|
Before fix | After fix |\r\n| ------------- | -------------
|\r\n|\r\n\r\n|\r\n\r\n|\r\n\r\nIn
a follow work, we need to remove completely all
the\r\n`styled_components` we
have.","sha":"a8e1bf46a3dc111e37caf19b19897081ed2a8078"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/205664","number":205664,"mergeCommit":{"message":"[Security
Solution][Alert Details] - fix some UI issues related to emotion/css vs
emotion/react (#205664)\n\n## Summary\r\n\r\nThis recent
[PR](#205011) slightly\r\nbroke
the UI in a couple of small places in the alert details
flyout.\r\nStrangely, I did review the PR by pulling down the branch,
but only\r\nlooked at the places that were impacted by the files
modified. The\r\ncouple of places where the UI broke were completely
different...\r\nMy guess it is is related to the fact that in those
place we were still\r\nusing `@emotion/css` and this might not play nice
with some\r\n`styled_components`...\r\n\r\nUpdating those places to use
`@emotion/react` fixed the issues!\r\n\r\n| Before fix | After fix
|\r\n| ------------- | -------------
|\r\n|\r\n\r\n|\r\n\r\n|\r\n\r\n|
Before fix | After fix |\r\n| ------------- | -------------
|\r\n|\r\n\r\n|\r\n\r\n|\r\n\r\n|
Before fix | After fix |\r\n| ------------- | -------------
|\r\n|\r\n\r\n|\r\n\r\n|\r\n\r\nIn
a follow work, we need to remove completely all
the\r\n`styled_components` we
have.","sha":"a8e1bf46a3dc111e37caf19b19897081ed2a8078"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: Philippe Oberti <philippe.oberti@elastic.co>
Summary
This PR updates the list of component files still using
styled-componentsto match all files that import fromstyled-componentspackage. This fixes the recent issue with some styled-components styles not loading properly in Kibana.The previously used regex list became error-prone and is more complicated to follow and update when converting plugins to Emotion in steps. The added generator traverses kibana sources and looks up files that import
styled-componentsto build an array of path regexes to put inpackages/kbn-babel-preset/styled_components_files.js.This code is an initial implementation to fix style errors on
mainand get us unblocked. It's missing tests and has not-so-optimal structure, however, the latter doesn't matter that much at the moment considering it's going to be run occasionally andstyled-componentsis going away.Local testing
Please run
node scripts/build_kibana_platform_plugins --no-cachebefore testing this PR locally. Updates to@kbn/babel-presetdon't update the optimizer cache key.